Skip to content

refactor: rename gateway profiles, add auto-discovery and profile dir#77

Merged
robbycochran merged 6 commits into
mainfrom
rc-gateway-rename
Jun 17, 2026
Merged

refactor: rename gateway profiles, add auto-discovery and profile dir#77
robbycochran merged 6 commits into
mainfrom
rc-gateway-rename

Conversation

@robbycochran

@robbycochran robbycochran commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Gateway rename, auto-discovery, and three new agent config features.

Gateway profiles

  • Rename: locallocal-container, kindhelm, ocpopenshift
  • Auto-discover profiles by scanning profiles/gateways/*.yaml — drop a YAML file to add a target
  • HARNESS_PROFILE_DIR env var + ~/.config/harness-openshell default profile directory
  • Doctor uses gateway config type (local vs remote) instead of name matching

Agent config features

  • repo — clone a git repo outside the sandbox and upload it. Git credentials never enter the sandbox. Shallow clone (--depth 1), uploaded to /sandbox/<repo-name>.
  • base_agent — inherit providers, env, payloads from a base config. base_agent: default resolves agent-default.yaml. Overlay fields win for scalars; providers and env merge additively.
  • Inference provider warning — warns during apply if no inference provider is configured for claude/opencode entrypoints.

Testing & build

  • make test-local builds the sandbox image automatically (no manual dev-push)
  • make test-remote depends on dev-push (OCP clusters pull from registry)
  • Testing section added to README (macOS-only validated)
  • All integration test scripts updated for new gateway names

Test plan

  • make test — 5/5 packages pass
  • make lint — 0 issues
  • make test-suite — 23/23 pass
  • make test-local — 22/22 pass (full e2e, local Podman)
  • test-flow.sh openshift — 15/15 pass (full e2e, OCP cluster)
  • TestMergeOver — base_agent merge semantics verified

…file dir

Rename gateway profiles to describe deployment method and service type:
  local.yaml -> local-container.yaml
  kind.yaml -> helm-nodeport.yaml
  ocp.yaml -> helm-openshift-route.yaml

Add listGatewayProfiles() that scans profiles/gateways/*.yaml and merges
with embedded profiles. Init prompt and doctor checks now use discovered
profiles instead of hardcoded name lists. Adding a new gateway target is
just dropping a YAML file.

Add HARNESS_PROFILE_DIR env var and ~/.config/harness-openshell default
so the binary has a home on first run without requiring a checkout.

Doctor target checks now use gateway config type (local vs remote)
instead of matching on profile names, so new gateway profiles work
without code changes.
Update test-flow.sh, kind-lifecycle.sh, and Makefile to use new gateway
names (local-container, helm-nodeport, helm-openshift-route). The test
case dispatcher accepts both old and new names for backwards compat
during the transition.
Rename helm-openshift-route -> openshift and helm-nodeport -> helm.
Shorter, clearer names that match how teams refer to targets.
Clone a git repository outside the sandbox (shallow, --depth 1) and
upload it via --upload. Git credentials never enter the sandbox.

The agent gets a working copy at /sandbox/<repo-name> to read and
modify. Results can be extracted via sandbox exec, stdout in --task
mode, or the agent can push via the github provider's scoped token.
@robbycochran robbycochran merged commit c31022c into main Jun 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant